package com.zgjkhis.modules.outpatient.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zgjkhis.modules.charges.service.dto.InfoDto;
import com.zgjkhis.modules.system.domain.OrderAddress;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author yxl 处方订单dto
 * @Description
 * @Date 2021/7/13 16:07
 **/
@Data
public class LocalOrderDto implements Serializable {

    private Long id;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty(value = "创建时间")
    private Date orderTime;
    @ApiModelProperty(value = "订单号")
    private String orderNo;
    @ApiModelProperty(value = "云享订单号")
    private String apiOrderNo;
    @ApiModelProperty(value = "患者名称")
    private String patientName;
    @ApiModelProperty(value = "患者性别1-男，2-女")
    private Integer patientSex;
    @ApiModelProperty(value = "患者年龄")
    private String patientAge;
    @ApiModelProperty(value = "总金额")
    private String totalFee;
    @ApiModelProperty(value = "医生名称")
    private String docName;
    @ApiModelProperty(value = "支付状态 0：待收费，1:已收费，2：已完成，3：退费中，4：已退费",required = true)
    private Integer payStatus;
    @ApiModelProperty(value = "1 邮寄 2 自提",required = true)
    private Integer deliveryType;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "支付时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date payTime;
    @ApiModelProperty(value = "处方列表")
    private List<InfoDto> infos;
    @ApiModelProperty(value = "费用减免")
    private BigDecimal diffFee;
    @ApiModelProperty(value = "药费折扣")
    private BigDecimal drugDiscount;
    @ApiModelProperty(value = "整体折扣")
    private BigDecimal allDiscount;
    @ApiModelProperty(value = "其他费用")
    private BigDecimal otherFee;
    @ApiModelProperty(value = "支付方式，1：现金，2：微信，3：支付宝，4：银行卡，5：医保")
    private Integer payWay;
    @ApiModelProperty(value = "实际收费")
    private BigDecimal actualCharge;
    @ApiModelProperty(value = "订单类型：1：本地处方，2：云享处方",required = true)
    private Integer orderType;
    @ApiModelProperty(value = "订单来源")
    private String source;
    @ApiModelProperty(value = "订单来源门店名称")
    private String sourceStoreName;
    @ApiModelProperty(value = "订单状态，1：已收费(待审方)，2：调剂中(已审核)，3：待发货",required = true)
    private Integer orderCondition;
    @ApiModelProperty(value = "地址")
    private OrderAddress orderAddress;
    @ApiModelProperty("最新物流号")
    private String lastMailNo;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("最新物流时间")
    private Date lastMailTime;
    @ApiModelProperty(value = "流转金额")
    private BigDecimal cirulationCost;
    @ApiModelProperty(value = "流转订单号")
    private String cirOrderNo;
    @ApiModelProperty(value = "流转处方号")
    private String cirInfoNo;
    @ApiModelProperty(value = "下次发货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date nextTime;
    @ApiModelProperty(value = "下次发货原因")
    private String nextRemark;
    @ApiModelProperty(value = "1:已处理，2：未处理")
    private Integer nextFlag;
    @ApiModelProperty(value = "1:已处理，2：未处理")
    private Integer refundFlag;
    @ApiModelProperty(value = "补发订单的原订单号")
    private String oldOrderNo;
    @ApiModelProperty(value = "补发原因")
    private String reissueReason;
    @ApiModelProperty(value = "退款库存方式，0：报损，1：退库存，2：未调剂不推库存")
    private String refundType;
    @ApiModelProperty(value = "打印次数")
    private Integer printCount;

}
